<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>EGCS 1.0 Caveats</title>
<link rel="stylesheet" type="text/css" href="https://gcc.gnu.org/gcc.css" />
</head>
<body>
<h1>EGCS 1.0 Caveats</h1>

<ul>
  <li>EGCS has an integrated libstdc++, but does not have an integrated libg++.
  Furthermore old libg++ releases will not work with egc; HJ Lu has made a 
  libg++-2.8.1.2 available which may work with EGCS.
  <br />Note most C++ programs only need libstdc++.</li>

  <li>Note that using -pedantic or -Wreturn-type can cause an explosion in the
  amount of memory needed for template-heavy C++ code, such as code that uses
  STL.  Also note that -Wall includes -Wreturn-type, so if you use -Wall you
  will need to specify -Wno-return-type to turn it off.</li>

  <li> Exception handling may not work with shared libraries, particularly
  on alphas, hppas, and mips based platforms.  Exception handling is known
  to work on x86-linux platforms with shared libraries.</li>

  <li> Some versions of the Linux kernel have bugs which prevent them
  from being compiled or from running when compiled by EGCS.  See
  the FAQ (as shipped with EGCS 1.0)
  for additional information.</li>

  <li> In general, EGCS is more rigorous about rejecting invalid C++ code
  or deprecated C++ constructs than G++ 2.7.  As a result it may be necessary
  to fix C++ code before it will compile with EGCS.</li>

  <li>G++ is also aggressively tracking the C++ standard; as a result code
  which was previously valid (and thus accepted by other compilers and older
  versions of G++) may no longer be accepted.</li>

  <li>EGCS 1.0 may not work with Red Hat Linux 5.0 on all targets.  EGCS 1.0.x
  and later releases should work with Red Hat Linux 5.0.</li>
</ul>

</body>
</html>
